package org.example.service;

import lombok.Data;
import org.example.mapper.UserRepository;
import org.example.model.Bean对象1;
import org.example.model.Bean对象2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

@Service
@Data
public class UserService {

    //属性注入
//    @Autowired
//    private UserRepository userRepository;
//
//    //构造注入，和属性注入，作用是一样的
//    //本质是：要将UserService注册到容器中（实例化），是通过构造方法，传入容器中的userRepository对象来构造的
//    @Autowired
//    public UserService(UserRepository userRepository) {
//        this.userRepository = userRepository;
//    }
//
//
//    public UserRepository getUserRepository() {
//        return userRepository;
//    }
//
//    //setter注入
//    @Autowired
//    public void setUserRepository(UserRepository userRepository) {
//        this.userRepository = userRepository;
//    }

//    // 同一个类型，多个bean的注入方式
//    //第一种方式：变量名=bean的id
//    @Autowired
//    private Bean对象2 testBean2_1;
//
//    //第二种方式：
//    @Resource(name = "testBean2_1")
//    private Bean对象2 bean对象2;
//
//
//    //第三种方式：
//    @Autowired
//    @Qualifier("testBean2_1")//qualifier可以指定bean的id/名称
//    private Bean对象2 bean对象2;


    //注入bean=>类注解注册的bean
    @Autowired
    private Bean对象1 bean1;

    @Autowired
    private Bean对象1 bean2;
}
